ci: fast checks per PR, batch heavy builds to main/nightly/release - #6921
Merged
Conversation
ComputelessComputer
marked this pull request as ready for review
August 19, 2026 12:43
…elease Add concurrency:cancel-in-progress across CI workflows so rapid pushes cancel superseded runs. Split desktop_ci/mobile_ci into a Linux fast lane on PRs (typecheck, unit tests, cargo check/test x64) and gate macOS/Windows/Swift/arm64 + iOS/watchOS/Android builds to push:main, nightly schedule, and workflow_dispatch. Move pro_api_e2e (live provider APIs) off PRs. Add RELEASE_AUDIT.md documenting the per-PR/nightly/release model. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
cursor
Bot
changed the base branch from
cursor/migrate-ci-depot-to-github-runners-daf2
to
main
August 19, 2026 12:49
✅ Deploy Preview for anarlog canceled.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Per-PR CI currently reruns the full multi-platform build suite on every push, so the Bugbot → fix → push loop is expensive. This moves expensive verification off the fast-feedback path and batches it into merge/nightly/release, keeping per-PR feedback quick.
Stacked on #6917 (the Depot→GitHub runner migration) since both touch the same workflows — base this on that branch; retarget to
mainonce #6917 merges.What changed
1. Cancel superseded runs — added
concurrency: { group: <workflow>-<ref>, cancel-in-progress: true }to the CI workflows that lacked it (desktop_ci,mobile_ci,api_ci,web_ci,fmt,lint,zizmor,chrome_ci,bot_ci,db_ci,pro_api_e2e). Pushing 5 times now cancels the first 4 runs instead of running all 5.2.
desktop_ci— fast lane on PRs, heavy on main/nightly/dispatch:js_ci(Linux):pnpm -F ui build+ desktoptypecheck+test(previously only ran inside the macOS job). Verified these pass on Linux.linux_ci: conditional matrix — x64 only on PRs, x64 + arm64 otherwise.macos_ci,windows_ci,desktop_swift: gated togithub.event_name != 'pull_request'.scheduleandjs_cito theciaggregation gate.3.
mobile_ci— fast lane on PRs:mobile_checks(Linux):pnpm -F @anlg/mobile typecheck+test.watchos_build,ios_build,android_build: gated off PRs → main/nightly/dispatch.4.
pro_api_e2e(hits live provider APIs): removed thepull_requesttrigger → runs onpush:main+ nightly + dispatch.5.
RELEASE_AUDIT.md— documents the model (per-PR fast lane / nightly onmain/ deliberate pre-release audit) and a checklist that ties into the existingqa-critical-ux,desktop_cd,desktop_linux_audio_qa,new-changelog, andrelease-new-versionskills/workflows.Result
cargo check/cargo test(x64) — minutes, deduped.main+ nightly run: full desktop matrix (macOS/Windows/Linux arm64/Swift) + mobile native builds. Nightly catches platform breakage within a day so the release audit stays a clean diff review.The required
ci/mobile_ciaggregation gates still run on every PR and pass when heavy jobs are skipped (skipped≠failure).Validation & caveats
dprint check.desktop_ci/mobile_cionce to confirm the full suite still runs on non-PR events.